{
  "name": "C++",
  // Update the 'dockerComposeFile' list if you have more compose files or use different names.
  "dockerComposeFile": "docker-compose.yml",
  // The 'service' property is the name of the service for the container that VS Code should
  // use. Update this value and .devcontainer/docker-compose.yml to the real service name.
  "service": "app",
  // The 'workspaceFolder' property is the path VS Code should open by default when
  // connected. Corresponds to a volume mount in .devcontainer/docker-compose.yml
  "workspaceFolder": "/workspace",
  // Set *default* container specific settings.json values on container create.
  "customizations": {
    "vscode": {
      "settings": {
        "editor.tokenColorCustomizations": {
          "textMateRules": [
            {
              "scope": "googletest.failed",
              "settings": {
                "foreground": "#f00"
              }
            }
          ]
        },
        "terminal.integrated.defaultProfile.linux": "bash",
        "terminal.integrated.profiles.linux": {
          "bash": {
            "path": "/bin/bash"
          }
        },
        "C_Cpp.dimInactiveRegions": true,
        "C_Cpp.errorSquiggles": "disabled",
        "C_Cpp.intelliSenseEngine": "disabled",
        "testOnSave.enabled": true,
        "testOnSave.languageId": "c",
        "testOnSave.testCommand": "./bin/coverage.sh --all --clean --silent --sanitize",
        "koverage.coverageFileNames": [
          "lcov.info"
        ],
        "coverage-gutters.coverageFileNames": [
          "lcov.info"
        ],
        "coverage-gutters.coverageBaseDir": "coverage",
        "coverage-gutters.showLineCoverage": true,
        "coverage-gutters.showGutterCoverage": false,
        "cSpell.checkOnlyEnabledFileTypes": true,
        "cSpell.enableFiletypes": [
          "c",
          "!json"
        ],
        "files.autoSave": "off",
        "files.watcherInclude": [
          "."
        ],
        "files.associations": {
          "*.h": "c",
          "*.c": "c"
        },
        "files.exclude": {},
        "workbench.editor.enablePreview": false,
        "pdf-preview.default.scale": "page-width",
        "clangd.onConfigChanged": "restart",
        "clangd.checkUpdates": true,
        "clangd.restartAfterCrash": true,
        "cmake.showConsoleAutomatically": true,
        "cmake.configureOnStart": true,
        "cmake.sourceDirectory": "${workspaceFolder}",
        "cmake.buildDirectory": "${workspaceFolder}/cmake",
        "cmake.ignoreCMakeListsMissing": true,
        "cmake.configureOnOpen": true,
        "cmake.configureOnEdit": true,
        "terminal.integrated.smoothScrolling": true,
        "terminal.integrated.cursorBlinking": true,
        "terminal.integrated.enableFileLinks": "on",
        "cmake.statusbar.visibility": "compact",
        "window.zoomLevel": 0,
        "cmake.reconfigureOnChange": true,
        "DockerRun.DisableAutoGenerateConfig": true,
        "disasexpl.associations": {
          "**/*.c": "${workspaceFolder}/${relativeFileDirname}/${fileBasenameNoExtension}.c.s",
          "**/*.cpp": "${workspaceFolder}/${relativeFileDirname}/${fileBasenameNoExtension}.c.s"
        },
        "lldb.displayFormat": "auto",
        "lldb.showDisassembly": "auto",
        "lldb.dereferencePointers": true,
        "lldb.consoleMode": "commands",
        "statusbar_command.commands": [
          {
            "text": ".S",
            "tooltip": "Show disassembly",
            "alignment": "right",
            "priority": 1000,
            "id": "sda_s",
            "name": "disassembly",
            "filterFileName": "^.*\\.[c|h]$",
            "command": "disasexpl.show"
          }
        ],
        "sonarlint.testFilePattern": "{**/test/**,**/*test*,**/*Test*,**/rexo/**}",
        "sonarlint.pathToCompileCommands": "${workspaceFolder}/cmake/compile_commands.json"
      },
      // C++ select language server:
      // use either llvm-vs-code-extensions.vscode-clangd or ms-vscode.cpptools-extension-pack
      // Add the IDs of extensions you want installed when the container is created.
      "extensions": [
        "daylerees.rainglow",
        "mhutchie.git-graph",
        "donjayamanne.githistory",
        "codezombiech.gitignore",
        "sonarsource.sonarlint-vscode",
        "andifin.testonsave",
        "tenninebt.vscode-koverage",
        "nateageek.memory-viewer",
        "visualstudioexptteam.vscodeintellicode",
        "twxs.cmake",
        "ryanluker.vscode-coverage-gutters",
        "beardedbear.beardedicons",
        "ms-vscode.cmake-tools",
        "ms-vscode.live-server",
        "llvm-vs-code-extensions.vscode-clangd",
        "markis.code-coverage",
        "streetsidesoftware.code-spell-checker",
        "dseight.disasexpl",
        "maziac.asm-code-lens",
        "ms-vscode.cpptools",
        "aslamanver.vsc-export",
        "anweber.statusbar-commands",
        "vadimcn.vscode-lldb",
        "bierner.github-markdown-preview",
        "letmaik.git-tree-compare",
        "DavidAnson.vscode-markdownlint",
        "GitHub.vscode-pull-request-github",
        "ms-vscode.hexeditor",
        "ms-azuretools.vscode-docker",
        "ms-vscode.makefile-tools",
        "SonarSource.sonarlint-vscode",
        "hack2root.testfilesonsave",
        "doi.fileheadercomment",
        "moshfeu.compare-folders",
        "fougas.msys2",
        "ms-vscode.cpptools-extension-pack",
        "zchrissirhcz.cmake-highlight",
        "Gruntfuggly.todo-tree",
        "github.vscode-github-actions",
        "CS128.cs128-clang-tidy",
        "CS50.vscode-presentation-mode",
        "pomber.git-file-history",
        "GuodongSun.vscode-git-cruise",
        "huizhou.githd",
        "saber2pr.file-git-history",
        "rogalmic.bash-debug",
        "CircleCI.circleci",
        "franmastromarino.vs-code-settings-os",
        "dangmai.workspace-default-settings",
        "Swellaby.workspace-config-plus",
        "modular-mojotools.vscode-mojo",
        "therepoclub.fileheadergenerator",
        "usernamehw.errorlens"
      ]
    }
  }
}
